{{tag>Bionic Focal Jammy windows installation émulation programmation }}

-----
{{ https://i.imgur.com/rV7ScCV.png?80|}}

====== Sous-système Windows pour Linux : Ubuntu sur Windows ======

//Ubuntu sur Windows// est une variante d'Ubuntu proposée officiellement par Microsoft et [[:Canonical]], et qui se déploie nativement sur **Windows 10** ou **Windows 11** au moyen du sous-système **//WSL//**.

Le //Windows Subsystem for Linux// (WSL), en français "Sous-système Windows pour Linux" est parfois grossièrement appelé "Bash sur Windows". Il existe deux versions de ce sous-système :
  * WSL 1 est une **couche de compatibilité** permettant d'exécuter des fichiers ELF (binaires exécutables) pour Linux à partir d'un système Windows. Le principe est le même que [[:Wine]], mais "dans l'autre sens".
  * WSL 2 repose sur le système de virtualisation Hyper-V. Cette méthode est également très performante, et la couche de virtualisation est quasi transparente pour l'utilisateur.

<note>Le but de cette distribution était à la base de simplifier le travail des développeurs (en particulier dans le domaine du web) en rendant possible la mise en place d'une structure et d'outils Linux sous Windows, et ainsi d'harmoniser les environnements de développement Windows avec les environnements GNU/Linux qu'on trouve couramment sur les serveurs de production.

Cet outil est désormais accessible au grand public et permet de déployer presque "nativement" les logiciels de l'univers GNU/Linux sous Windows. En outre il est compatible avec [[:APT]], [[:Snap]], [[:Flatpak]] et [[:Docker]]</note>

WSL ne permet pas de faire fonctionner n'importe quelle distribution : seules les [[:lts|versions LTS]] d'Ubuntu sont supportées. La première distribution Linux concernée fut [[:Trusty]] (14.04).\\ 
D'autres distributions GNU/Linux sont également proposées : [[wpfr>Debian]], [[wpfr>openSUSE]], [[wpfr>SUSE Linux Enterprise]] et [[wpfr>Kali Linux]].

===== Pré-requis =====

  * Une copie à jour de Windows 10 ou 11 de type 64 bits.

  * Une session Windows avec les droits d'administrateur.

Pour savoir si votre système est compatible, allez dans les **Paramètres -> Système -> Informations Système**. Regardez la //build// du système ("Version du système d'exploitation") et son type ("Type du système").

===== Installation =====

==== Installer le système principal ====

  * Lancer l’application PowerShell en mode administrateur.
  * Obtenir la liste des distributions libres installables:<code bash>wsl -l -o</code>
  * Installer une distribution:<code bash>wsl --install --distribution Ubuntu-22.04</code>
  * Rebooter pour que l’installation se termine.
  * Prévenir WSL de  installation d’un nouveau composant. <code bash>wsl --update</code>
  * Tuer WSL pour le forcer  à  utiliser la mise à jour à son prochain démarrage. <code bash> wsl --shutdown</code>

La première fois que vous lancez une distribution Linux nouvellement installée, une fenêtre de console s’ouvre et vous êtes invité à attendre que les fichiers soient décompressés et stockés sur votre ordinateur. Tous les lancements ultérieurs doivent prendre moins d’une seconde.
<note warning>Si  le message d'erreur **0xc400000d** apparaît: Le transfert des fichiers est interrompu prématurément. Il suffit de relancer la commande. Le transfert des fichiers reprend sans repartir du début.</note>
<note warning>Si l'installation échoue, activez le mode développeur et recommencez.</note>

Il est possible d'utiliser plusieurs distributions simultanément. Vous trouverez de l'aide pour les faire cohabiter (ou sélectionner la distribution par défaut) sur la [[https://docs.microsoft.com/fr-fr/windows/wsl/wsl-config#managing-multiple-linux-distributions|documentation officielle]].

Une fois l'application installée, lancez-la.  Son nom est **Ubuntu** , et vous devriez voir apparaître un message //Installing, this may take a few minutes...//
( Compter 5 minutes sur un SSD et  15 minutes sur un disque dur.)
Après quoi vous devriez être invité·e à entrer un identifiant et un mot de passe.

==== Installer les logiciels voulus ====

La gestion des paquets en ligne de commande se fait comme sur un système Ubuntu normal, au moyen de la commande ''[[:apt-cli|apt]]'', par exemple.

Dans le terminal //Ubuntu//, tapez tout d'abord :
<code>sudo apt update</code>
<code>sudo apt upgrade</code>

Puis, par exemple si on veut utiliser l'éditeur de texte [[:vim]] :
<code>sudo apt install vim</code>

Les logiciels graphiques apparaissent dans le menu démarrer, avec les autres logiciels Windows. Leur nom est simplement suivi de //(Ubuntu)// afin de les différencier.

==== Applications graphiques ====

Contrairement à ce que vous trouverez dans certaines documentations anciennes, il n'est plus nécessaire d'installer de serveur X tiers. WSL 2 intègre désormais [[https://github.com/microsoft/wslg|wslg]]. Si vous avez une ancienne version de WSL, il suffit de le mettre à jour pour en profiter :
<code>wsl --update</code>

Il peut tout de même être utile d'installer un pilote spécifique à sa carte graphique, afin de bénéficier de l'accélération graphique avec certains logiciels. Voir [[https://learn.microsoft.com/fr-fr/windows/wsl/tutorials/gui-apps|cette documentation]].

===== Utilisation =====

==== Installation d'un bureau graphique ====

=== GNOME ===

<note warning>Ne fonctionne pas.</note>

On peut installer le paquet [[apt>gnome]], ce qui installe les logiciels du bureau gnome.

Cependant [[:gnome-shell|GNOME Shell]] ne démarre pas... La commande **gnome-session** conduit à une erreur.

=== unity ===

Malgré beaucoup de bugs, le bureau Unity peut techniquement être lancé via le WSL (avec énormément d'efforts).

{{https://cloud.githubusercontent.com/assets/9023392/16705685/69455030-454e-11e6-8ae3-cb210354c660.png?400|Malgré beaucoup de bugs, le bureau Unity peut techniquement être lancé via le WSL (avec énormément d'efforts)}}

<note important>Si la commande    gnome-session se termine prématurément, c'est probablement lié a ce  [[https://bugs.dogfood.paddev.net/ubuntu/+source/gnome-session/+bug/1251281|bug]]
    sudo service dbus restart
          *Stopping system message bus dbus                                                                              [ OK ]
          *Starting system message bus dbus                                                                              [ OK ]
   gnome-session
          gnome-session-is-accelerated: No hardware 3D support.
          gnome-session-check-accelerated: GL Helper exited with code 256
          (gnome-session-check-accelerated-gles-helper:2164): WARNING **: 15:30:56.092: eglGetDisplay() failed
          gnome-session-check-accelerated: GLES Helper exited with code 256
          gnome-session-is-accelerated: No hardware 3D support.
          gnome-session-check-accelerated: GL Helper exited with code 256
          (gnome-session-check-accelerated-gles-helper:2167): WARNING **: 15:31:01.530: eglGetDisplay() failed
          gnome-session-check-accelerated: GLES Helper exited with code 256
          gnome-session-binary[2142]: WARNING: software acceleration check failed: Child process exited with code 1
          gnome-session-binary[2142]: CRITICAL: We failed, but the fail whale is dead. Sorry....

 </note>

==== Accès aux fichiers Windows depuis Linux ====

Le disque ''C:'' est automatiquement monté par Ubuntu au chemin ''/mnt/c'', et il en est de même pour les autres lecteurs (''/mnt/d/'', ...) du système Windows.

Tous ces chemins sont accessibles avec les séparateurs Unix (''/'' au lieu de ''\'' pour Windows).

Par défaut, tous les fichiers du système Windows appartiennent à l'utilisateur courant avec toutes les permissions (777) et on ne peut pas modifier ces permissions. Il est possible de changer ce comportement, mais avec quelques limitations, en suivant [[https://blogs.msdn.microsoft.com/commandline/2018/01/12/chmod-chown-wsl-improvements/|cette documentation]] (en anglais).

Il est possible d'accéder en mode graphique à tous les fichiers windows en lançant l'explorateur avec cette commande
<code bash>explorer.exe</code> 

==== Accès aux fichiers Linux depuis Windows ====

Pour information, la racine du système de fichiers Linux est
''C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs''

Si vous avez choisi une version spécifique dans le Windows Store, le chemin sera légèrement différent :
''C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs''

Si vous avez choisi de nommer votre instance ubuntu, le chemin sera aussi légèrement différent :
''C:\Users\TEMP.%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs''

<note warning>Ne modifiez jamais ces fichiers directement depuis Windows.

Les systèmes de fichiers n'étant pas les mêmes entre Windows et Linux, les programmes Windows ne savent pas les gérer et les fichiers seraient corrompus à coup sûr.</note>

En date du 02/11/2020 en release preview:

L'explorateur windows permet d'accéder à ces  fichiers et même d'en ajouter y compris en glisser/déposer .

{{:wsl:wsl2-c.png?600|}}
exemple Fremake Video Converter

==== Utiliser des commandes Linux dans l'invite de commande Windows ====

Pour utiliser une commande Linux depuis l'invite de commande Windows, faites-la précéder de ''ubuntu run''.

Si vous avez installé une version spécifique d'Ubuntu sur Windows, la commande est légèrement différente : ''ubuntu1604 run'' ou ''ubuntu1804 run'' par exemple.

Par exemple pour faire ''ls -al'' depuis l'invite de commande Windows, tapez :
<code>ubuntu run ls -al</code>

==== Utiliser des programmes Windows depuis Linux ====

Il est aussi possible d'exécuter des programmes Windows depuis la console Ubuntu. Il suffit d'appeler les commandes avec leurs extensions Windows (couramment ''.exe'', ''.bat'' ou ''.cmd'') :
<code>notepad.exe</code>

==== Désinstallation ====

Pour supprimer le logiciel installé en conservant les données de l'utilisateur, effectuer la commande windows
<code> lxrun /uninstall </code>
Pour tout supprimer, effectuer la commande windows
<code>lxrun /uninstall /full </code>
ou <code bash> wslconfig /u   Ubuntu </code>
Pour réinstaller facilement, effectuer la commande windows
<code>lxrun /install </code>

===== Accès aux autres partitions =====

Il devrait bientôt être possible d'accéder de façon standard aux répertoires "linux"  stockés  par wsl dans la partition C:  sans avoir besoin de l'utiliser.

Cela serait possible avec la version ** [[https://www.developpez.com/actu/246534/La-MaJ-WSL-dans-Windows-10-build-1903-vous-donne-acces-aux-fichiers-Linux-depuis-Windows-les-outils-en-ligne-de-commande-sont-egalement-ameliores/|19h1]]** qui sera diffusée en [[https://devblogs.microsoft.com/commandline/whats-new-for-wsl-in-windows-10-version-1903/|avril 2019]]

Les partitions  formatées EXT4  ne sont toujours pas montables manuellement. Seules les partitions FAT32 le deviennent.


**Dernières nouvelles.**
Reçu dans ma messagerie privée en date du 10/09/2020
<note help>Pierre

September 10th, 2020



Starting with Windows Insiders preview build 20211, WSL 2 will be offering a new feature: wsl --mount. This new parameter allows a **physical disk** to be attached and mounted inside WSL 2, which enables you to access filesystems that aren’t natively supported by Windows (such as ext4).
So, if you’re dual booting with Windows & Linux using different disks, you can now access your Linux files from Windows!</note>
<note important>Limitations
Pour l’instant, seuls des disques entiers peuvent être attachés à WSL 2, ce qui signifie qu’il n’est pas possible d’attacher uniquement une partition. Concrètement, cela signifie qu’il n’est pas possible d’utiliser pour lire une partition sur le périphérique de démarrage, car cet appareil ne peut pas être détaché de Windows.wsl --mount</note>
<code>wmic diskdrive list brief
wsl --mount \\.\PHYSICALDRIVE2  --partition 1</code>

==== Exemples au 04/11/2020 avec une version preview ====

=== Lister les disques connectés ===

La liste des disques connectés s’obtient  sous windows en lançant **l’application  Windows PowerShell (admin)** puis la commande permettant de trouver le nom
<code bash>PS C:\WINDOWS\system32> wmic diskdrive list brief
Caption                            DeviceID            Model                              Partitions  Size
Seagate Slim  SL SCSI Disk Device  \\.\PHYSICALDRIVE1  Seagate Slim  SL SCSI Disk Device  19          500105249280
TOSHIBA MQ01ABD100                 \\.\PHYSICALDRIVE0  TOSHIBA MQ01ABD100                 23          1000202273280

PS C:\WINDOWS\system32></code>
Si le retour ne permet pas de trouver le bon disque, il est possible de ne pas mettre l’option pour une description détaillée. On peut alors procéder  à la mise à disposition des partitions avec cette commande:
<code bash>wsl --mount \\.\PHYSICALDRIVE1  --bare </code> 
Toutes les partitions seront alors connues de ubuntu qui pourra choisir lesquelles monter. On peut aussi  les monter directement en sélectionnant les partitions. Très souvent on connait les partitions formatées en EXT4.   Mais si on se trompe, ce n'est pas grave.
<code>   
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 1
Le disque est soit en cours d’utilisation, soit verrouillé par un autre processus.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 2
Le disque est soit en cours d’utilisation, soit verrouillé par un autre processus.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 3
Le disque est soit en cours d’utilisation, soit verrouillé par un autre processus.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 4
Le disque \\.\PHYSICALDRIVE1 a été joint à partir de WSL2, mais n’a pas pu être monté (code d’erreur : -1). Pour plus d’informations, exécutez « dmesg » dans WSL2.
Pout détacher le disque, exécutez « WSL--unmount » \\.\PHYSICALDRIVE1'.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 5
Le disque \\.\PHYSICALDRIVE1 a été joint à partir de WSL2, mais n’a pas pu être monté (code d’erreur : -1). Pour plus d’informations, exécutez « dmesg » dans WSL2.
Pout détacher le disque, exécutez « WSL--unmount » \\.\PHYSICALDRIVE1'.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 6
Le disque \\.\PHYSICALDRIVE1 a été joint à partir de WSL2, mais n’a pas pu être monté (code d’erreur : -1). Pour plus d’informations, exécutez « dmesg » dans WSL2.
Pout détacher le disque, exécutez « WSL--unmount » \\.\PHYSICALDRIVE1'.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 7
Le disque \\.\PHYSICALDRIVE1 a été monté sous le nom « PHYSICALDRIVE1p7 ». Le point de montage se trouve sous le chemin d’accès pointé par le paramètre automount (par défaut : /mnt/WSL).
Pour démonter et détacher le disque, exécutez « WSL --unmount \\.\PHYSICALDRIVE1 ».
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 8
Le disque \\.\PHYSICALDRIVE1 a été monté sous le nom « PHYSICALDRIVE1p8 ». Le point de montage se trouve sous le chemin d’accès pointé par le paramètre automount (par défaut : /mnt/WSL).
Pour démonter et détacher le disque, exécutez « WSL --unmount \\.\PHYSICALDRIVE1 ».
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 9
Le disque \\.\PHYSICALDRIVE1 a été joint à partir de WSL2, mais n’a pas pu être monté (code d’erreur : -1). Pour plus d’informations, exécutez « dmesg » dans WSL2.
Pout détacher le disque, exécutez « WSL--unmount » \\.\PHYSICALDRIVE1'.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 10
Le disque \\.\PHYSICALDRIVE1 a été joint à partir de WSL2, mais n’a pas pu être monté (code d’erreur : -1). Pour plus d’informations, exécutez « dmesg » dans WSL2.
Pout détacher le disque, exécutez « WSL--unmount » \\.\PHYSICALDRIVE1'.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 11
Le disque \\.\PHYSICALDRIVE1 a été monté sous le nom « PHYSICALDRIVE1p11 ». Le point de montage se trouve sous le chemin d’accès pointé par le paramètre automount (par défaut : /mnt/WSL).
Pour démonter et détacher le disque, exécutez « WSL --unmount \\.\PHYSICALDRIVE1 ».
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 12
Le disque \\.\PHYSICALDRIVE1 a été joint à partir de WSL2, mais n’a pas pu être monté (code d’erreur : -1). Pour plus d’informations, exécutez « dmesg » dans WSL2.
Pout détacher le disque, exécutez « WSL--unmount » \\.\PHYSICALDRIVE1'.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 13
Le disque \\.\PHYSICALDRIVE1 a été joint à partir de WSL2, mais n’a pas pu être monté (code d’erreur : -1). Pour plus d’informations, exécutez « dmesg » dans WSL2.
Pout détacher le disque, exécutez « WSL--unmount » \\.\PHYSICALDRIVE1'.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 14
Le disque \\.\PHYSICALDRIVE1 a été monté sous le nom « PHYSICALDRIVE1p14 ». Le point de montage se trouve sous le chemin d’accès pointé par le paramètre automount (par défaut : /mnt/WSL).
Pour démonter et détacher le disque, exécutez « WSL --unmount \\.\PHYSICALDRIVE1 ».
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 15
Le disque \\.\PHYSICALDRIVE1 a été monté sous le nom « PHYSICALDRIVE1p15 ». Le point de montage se trouve sous le chemin d’accès pointé par le paramètre automount (par défaut : /mnt/WSL).
Pour démonter et détacher le disque, exécutez « WSL --unmount \\.\PHYSICALDRIVE1 ».
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 16
Le disque \\.\PHYSICALDRIVE1 a été joint à partir de WSL2, mais n’a pas pu être monté (code d’erreur : -1). Pour plus d’informations, exécutez « dmesg » dans WSL2.
Pout détacher le disque, exécutez « WSL--unmount » \\.\PHYSICALDRIVE1'.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 17
Le disque \\.\PHYSICALDRIVE1 a été joint à partir de WSL2, mais n’a pas pu être monté (code d’erreur : -1). Pour plus d’informations, exécutez « dmesg » dans WSL2.
Pout détacher le disque, exécutez « WSL--unmount » \\.\PHYSICALDRIVE1'.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 18
Le disque \\.\PHYSICALDRIVE1 a été monté sous le nom « PHYSICALDRIVE1p18 ». Le point de montage se trouve sous le chemin d’accès pointé par le paramètre automount (par défaut : /mnt/WSL).
Pour démonter et détacher le disque, exécutez « WSL --unmount \\.\PHYSICALDRIVE1 ».
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 19
Le disque \\.\PHYSICALDRIVE1 a été joint à partir de WSL2, mais n’a pas pu être monté (code d’erreur : -1). Pour plus d’informations, exécutez « dmesg » dans WSL2.
Pout détacher le disque, exécutez « WSL--unmount » \\.\PHYSICALDRIVE1'.
PS C:\WINDOWS\system32> wsl --mount \\.\PHYSICALDRIVE1 --partition 20
Le disque \\.\PHYSICALDRIVE1 a été joint à partir de WSL2, mais n’a pas pu être monté (code d’erreur : -1). Pour plus d’informations, exécutez « dmesg » dans WSL2.
Pout détacher le disque, exécutez « WSL--unmount » \\.\PHYSICALDRIVE1'. </code>

=== Accès aux partitions ===

Il faut alors lancer l’application ** Ubuntu 20.04 LTS**.  La première chose est certainement de regarder ce qui a été monté.
<code bash> 
a@W0:/mnt/wsl$ sudo blkid
[sudo] password for a:
/dev/sda: UUID="3255683f-53a2-4fdf-91cf-b4c1041e2a62" TYPE="ext4"
/dev/sdb: UUID="3255683f-53a2-4fdf-91cf-b4c1041e2a62" TYPE="ext4"
/dev/sdc1: LABEL_FATBOOT="USBFAT32" LABEL="USBFAT32" UUID="6275-73D4" TYPE="vfat" PARTLABEL="USB EFI PARTITION" PARTUUID="249e9562-59f4-4b4d-b646-36590e8a077f"
/dev/sdc2: LABEL="Windows10-StoreDansUSB" UUID="4AD43343D4333115" TYPE="ntfs" PARTUUID="2e43d100-bbe0-4428-b1f7-cbc4b618b899"
/dev/sdc3: PARTLABEL="Microsoft reserved partition" PARTUUID="fd0e9941-7e13-4dde-a150-0034275ac45b"
/dev/sdc4: LABEL_FATBOOT="NEWFAT32" LABEL="USBNEWFAT32" UUID="2250-D2EB" TYPE="vfat" PARTLABEL="USBNEWFAT32" PARTUUID="be485156-6322-4394-bc79-590a20608ca2"
/dev/sdc5: LABEL_FATBOOT="ISOWINDOWSU" LABEL="ISOWINDOWSU" UUID="6D86-73B7" TYPE="vfat" PARTUUID="29c1a38b-ace4-4c3e-970c-e607d70f41e2"
/dev/sdc6: LABEL_FATBOOT="INS18041USB" LABEL="INS18041USB" UUID="4965-32A7" TYPE="vfat" PARTUUID="136973f1-e45e-436f-96f6-87dfd835067c"
/dev/sdc7: LABEL="SaveDesWindows" UUID="d87a6502-7512-4dbe-ae35-d934ec9614c9" TYPE="ext4" PARTUUID="f25b558c-dec7-40f5-80e1-c4760fcaeecb"
/dev/sdc8: LABEL="USBubuntu2004LTS" UUID="eabe7e41-af12-4c75-8243-2d6801aafc07" TYPE="ext4" PARTLABEL="USBubuntu2004LTS" PARTUUID="7d41430e-a733-49f6-b7b5-e4762bda4ade"
/dev/sdc9: UUID="a65fce7d-4e42-dfa5-2d91-ebee9e95478d" UUID_SUB="277de82f-308c-8f54-f4c3-faca9720115d" LABEL="a:RAID-A" TYPE="linux_raid_member" PARTUUID="5b527f6b-0c84-4be3-b919-a1cddda5a306"
/dev/sdc10: UUID="a65fce7d-4e42-dfa5-2d91-ebee9e95478d" UUID_SUB="4e0b92bb-76be-58ff-4217-58179105bf27" LABEL="a:RAID-A" TYPE="linux_raid_member" PARTUUID="086aba98-e10d-4f5d-b9f9-c8989731928f"
/dev/sdc11: UUID="8f20d237-5d3a-4b02-b275-973ee14f34be" TYPE="ext4" PARTLABEL="Ubuntu2004-SLIM" PARTUUID="804b930f-cfdc-4974-8d33-a41ba674d91e"
/dev/sdc12: UUID="96acf0ee-4b29-50e2-1045-4c03f54b96b6" UUID_SUB="42f296d4-23a6-1407-3e30-36307ddaed6a" LABEL="a:RAID-B" TYPE="linux_raid_member" PARTUUID="5800b0b5-d913-439a-885c-cdbd0f372076"
/dev/sdc13: UUID="96acf0ee-4b29-50e2-1045-4c03f54b96b6" UUID_SUB="ddffac21-311d-5303-6fd7-697d8ec90ceb" LABEL="a:RAID-B" TYPE="linux_raid_member" PARTUUID="87a13b70-7d62-44f5-b7db-13ee095f2271"
/dev/sdc14: UUID="b56e0ffc-6893-459b-9f07-d0e1ca51925a" TYPE="ext4" PARTUUID="c71fc780-4169-47da-9d8c-d3296977901c"
/dev/sdc15: LABEL="Boot2004DansSLIM" UUID="1e6a29f8-e648-47b9-8fad-7b1df92fa674" TYPE="ext4" PARTLABEL="BootU2004DansSLIM" PARTUUID="be158dea-0091-492a-8d1f-932d08fbdde1"
/dev/sdc16: LABEL="pool-test" UUID="6946812547421721504" UUID_SUB="6714050966296698649" TYPE="zfs_member" PARTUUID="aca2a8dc-fb97-49da-9cbd-aab5df08824d"
/dev/sdc17: LABEL="pool-test" UUID="6946812547421721504" UUID_SUB="8935373003039407637" TYPE="zfs_member" PARTUUID="734f18e8-19ea-4c20-83bb-33227a985833"
/dev/sdc18: LABEL="UBUNTU1510" UUID="ed3107b3-c3f2-41b0-b2c8-ef89c674f3d5" TYPE="ext4" PARTUUID="675ed5ce-88ae-4575-b464-07d50d295197"
/dev/sdc19: LABEL="ventoy" UUID="7ED5-9642" TYPE="exfat" PTTYPE="dos" PARTUUID="70d25475-521f-4733-8c6c-c6a5d96e8e0e"
/dev/sdc20: SEC_TYPE="msdos" LABEL_FATBOOT="VTOYEFI" LABEL="VTOYEFI" UUID="4519-47D4" TYPE="vfat" PARTUUID="d5d9345b-07ae-4051-bee1-e754a4fae327"</code>

On peut alors regarder le contenu d'une partition **EXT4**  en se positionnant classiquement dedans.
<code bash> a@W0:/mnt/wsl/PHYSICALDRIVE1p11/home/a$ cd B*
a@W0:/mnt/wsl/PHYSICALDRIVE1p11/home/a/Bureau$ ls
gparted_details20.htm  kernel.txt </code>
et même modifier des fichiers
<code bash>
a@W0:/mnt/wsl/PHYSICALDRIVE1p11/home/a/Bureau$ echo FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF >>*.txt
a@W0:/mnt/wsl/PHYSICALDRIVE1p11/home/a/Bureau$ tail -4 *.txt
   ii  zfsutils-linux                             0.8.3-1ubuntu9                             amd64        command-line tools to manage OpenZFS filesystems
a@a-usb:/mnt/home/a$

FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
a@W0:/mnt/wsl/PHYSICALDRIVE1p11/home/a/Bureau$</code>

Mais il reste encore du travail.
<code bash> a@W0:~$ fsck /mnt/wsl/PHYSICALDRIVE1p11
fsck from util-linux 2.34
e2fsck 1.45.5 (07-Jan-2020)
fsck.ext2: Is a directory while trying to open /mnt/wsl/PHYSICALDRIVE1p11

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

a@W0:~$ fsck -f \\.\PHYSICALDRIVE1p11
fsck from util-linux 2.34
a@W0:~$</code>
  
===== Voir aussi =====

  ***(en)** [[wp>Windows Subsystem for Linux]]
  *[[:Cygwin]]
  *[[:Xorg]]
  *[[:bash]]
  *[[https://www.numerama.com/tech/158150-le-shell-bash-sous-windows-10-ce-quil-faut-savoir.html|Tutoriel de Numerama]]
  ***(en)** [[https://aka.ms/wsldocs|Documentation officielle]]
  ***(en)** [[https://news.thewindowsclub.com/bash-on-windows-10-v1809-93469/|Les nouveautés de la version 18.09]]
  ***(en)** [[https://github.com/Microsoft/BashOnWindows/issues/|La page GitHub de Microsoft]] où beaucoup d'utilisateurs discutent des problèmes rencontrés et des astuces pour les régler, notamment [[https://github.com/Microsoft/BashOnWindows/issues/637|cette discussion]].
  ***(en)** [[https://blog.ubuntu.com/2019/05/06/canonical-announces-support-for-ubuntu-on-windows-subsystem-for-linux-2|les évolutions en 2019]]
  ***(en)**[[https://wiki.ubuntu.com/WSL|documentation anglaise]]
  *[[https://www.developpez.com/actu/246534/La-MaJ-WSL-dans-Windows-10-build-1903-vous-donne-acces-aux-fichiers-Linux-depuis-Windows-les-outils-en-ligne-de-commande-sont-egalement-ameliores/|évolutions]]
  *[[https://docs.microsoft.com/fr-fr/windows/wsl/install-win10|Migrer WSL1 en WSL2]]
  *[[https://blog.eleven-labs.com/fr/le-developpement-sous-linux-depuis-windows-10-avec-wsl-2/|Une présentation et un lien pour installer sysemd ainsi que les snap]]
  *[[https://docs.microsoft.com/fr-fr/windows/wsl/install|Documentation windows]]
  *[[https://www.it-connect.fr/wslg-comment-utiliser-wsl-pour-ouvrir-des-applications-gui-linux/|Utiliser WSL en 2023]]

-----

//Contributeurs : [[utilisateurs/roschan]], [[utilisateurs/Revoxandco]], [[:utilisateurs:krodelabestiole]]//